Build xenstore interface as shared library.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 12 Aug 2005 15:59:34 +0000 (15:59 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 12 Aug 2005 15:59:34 +0000 (15:59 +0000)
Signed-off-by: Keir Fraser <keir@xensource.com>
tools/python/setup.py
tools/xenstore/Makefile

index c2c5448d5e4db380f26af72d477b4b6fe63a68f9..fdf9a39a4071630b63b8f383ff4c19076f3419ed 100644 (file)
@@ -17,7 +17,7 @@ library_dirs = [ XEN_ROOT + "/tools/libxc",
                  XEN_ROOT + "/tools/xenstore",
                  ]
 
-libraries = [ "xc", "xenstore-pic" ]
+libraries = [ "xc", "xenstore" ]
 
 xc = Extension("xc",
                extra_compile_args = extra_compile_args,
index 915f4de04b77662308ade4c100458c3fe9d77623..db0d03929288b5f82add2ab2e00b375b8cc4bf54 100644 (file)
@@ -24,7 +24,7 @@ TESTDIR  = `pwd`/testsuite/tmp
 TESTFLAGS= -DTESTING
 TESTENV  = XENSTORED_ROOTDIR=$(TESTDIR) XENSTORED_RUNDIR=$(TESTDIR)
 
-all: xen xenstored libxenstore.a libxenstore-pic.a
+all: xen xenstored libxenstore.so
 
 testcode: xen xs_test xenstored_test xs_random xs_dom0_test
 
@@ -53,20 +53,14 @@ xs_test_lib.o: xs.c
 talloc_test.o: talloc.c
        $(COMPILE.c) -o $@ $<
 
-LIB_OBJS     := xs.o xs_lib.o
-
-LIB_OBJS_A   := $(patsubst %.o,libxenstore.a(%.o),$(LIB_OBJS))
-LIB_OBJS_PIC := $(patsubst %.o,libxenstore-pic.a(%.opic),$(LIB_OBJS))
-
-libxenstore.a: $(LIB_OBJS_A)
-
-libxenstore-pic.a: $(LIB_OBJS_PIC)
+libxenstore.so: xs.opic xs_lib.opic
+       $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^
 
 clean: testsuite-clean
-       rm -f *.o *.opic *.a
+       rm -f *.o *.opic *.so
        rm -f xen xenstored xs_random xs_stress xs_crashme
        rm -f xs_test xenstored_test xs_dom0_test
-       -$(RM) $(PROG_DEP)
+       $(RM) $(PROG_DEP)
 
 print-dir:
        @echo -n tools/xenstore: 
@@ -117,15 +111,14 @@ TAGS:
 tarball: clean
        cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
 
-install: xenstored libxenstore.a libxenstore-pic.a
+install: xenstored libxenstore.so
        $(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
        $(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
        $(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
        $(INSTALL_DIR) -p $(DESTDIR)/usr/include
        $(INSTALL_PROG) xenstored $(DESTDIR)/usr/sbin
        $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
-       $(INSTALL_DATA) libxenstore.a $(DESTDIR)/usr/$(LIBDIR)
-       $(INSTALL_DATA) libxenstore-pic.a $(DESTDIR)/usr/$(LIBDIR)
+       $(INSTALL_DATA) libxenstore.so $(DESTDIR)/usr/$(LIBDIR)
        $(INSTALL_DATA) xs.h $(DESTDIR)/usr/include
        $(INSTALL_DATA) xs_lib.h $(DESTDIR)/usr/include